package com.emily.test.service;

import com.emily.test.model.TUser;

import java.util.List;
import java.util.Map;

public interface TUserService {

    /**
     * 根据登录名查询用户信息
     * @param loginName
     * @return
     */
    TUser selectUserInfoByLoginName(String loginName);

    /**
     * 根据查询条件查询用户的所有信息，包含用户的基本信息、所在的公司、部门、以及权限等
     * @param tUser
     * @return
     */
    Map<String,Object> getUserAllInfoMap(TUser tUser);

    /**
     * 根据用户id查询用户的所有角色信息
     * @param userId
     * @return
     */
    List<Map<String, Object>> getRolesByUserId(Integer userId);

    /**
     * 根据用户角色ids获取用户所拥有的资源
     * @param roleIdsList 角色ids
     * @return
     */
    List<Map<String, Object>> getResourceInfoByRoleIdsList(List<Integer> roleIdsList);

    /**
     * 根据公司code获取公司信息
     * @param companyCode   公司code
     * @return
     */
    Map<String, Object> getCompanyInfoByCode(String companyCode);

    /**
     * 根据公司id查询可用资源信息
     * @param companyId
     * @return
     */
    List<Map<String, Object>> getResourceInfoByCompanyIdList(Integer companyId);

    /**
     * 根据多个角色id查询菜单列表
     * @param roleIdsList
     * @return
     */
    List<Map<String, Object>> getMenuListByRoleIds(List<Integer> roleIdsList);
}
